Fork choice on_execution_payload
skeleton
#10049
Open
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
PR Description
Simple implementation (more of a skeleton) for
fork_choice#on_execution_payload
. Also created a newForkChoicePayloadExecutorGloas
which is catered for Gloas.Fixed Issue(s)
related to #9878
Documentation
doc-change-required
label to this PR if updates are required.Changelog
Note
Implements the fork choice on_execution_payload path using a new Gloas payload executor, extends import results and logging/debug utilities, and adapts APIs to use Optional headers.
onExecutionPayload
to retrieve state byslot+block_root
, process/verify payload, run DA check (NOOP for now), execute viaForkChoicePayloadExecutorGloas
, and commit to store.importExecutionPayloadAndState
flow and invalid execution payload reporting.ForkChoiceUtil.applyExecutionPayloadToStore
(no-op; Gloas override placeholder).ForkChoicePayloadExecutorGloas
to submitengine_newPayload
and track results.OptimisticExecutionPayloadExecutor.optimisticallyExecute
to acceptOptional<ExecutionPayloadHeader>
and update all callers (Bellatrix, Gloas, forkchoice executor/tests).Optional.empty()
and validates envelope as before.getSlot()
andgetSlotAndBlockRoot()
toSignedExecutionPayloadEnvelope
.ExecutionPayloadImportResult
with new failure reasons (UNKNOWN_BEACON_BLOCK_ROOT
,FAILED_EXECUTION
, DA failures) and factory helpers.AvailabilityChecker
tweaks: constants and javadoc updated to Optional method signature.DebugDataDumper
/DebugDataFileDumper
: support saving invalid execution payloads; refine data column sidecar saving.P2PLogger
: addonInvalidExecutionPayload
.ForkChoicePayloadExecutorGloasTest
and update existing tests for Optional header API and file dumper behavior.Written by Cursor Bugbot for commit c03126f. This will update automatically on new commits. Configure here.